The present invention is related to computing systems, and more particularly to a system and method for adjusting to changes in processor performance.
Designers of mobile computing platforms are faced with a delicate balance. They seek to increase performance of the CPU but at the same time limit the power consumed in order to conserve battery life and limit the heat generated by the system. As part of this balancing act mobile systems often rely on software-controlled thermal management systems in order to operate efficiently within a varying group of thermal constraints. For instance, a specification may define two or more thresholds that indicate temperatures at which different forms of software-controlled thermal management are activated. Active objects may be used to define a temperature threshold for a given thermal zone. When this threshold is exceeded, the operating system activates an active device (e.g., a fan or a remote heat exchanger), or reduces the battery charge current.
Historically, CPUs have had a discrete operating point, characterized by a given frequency and power. The frequency is typically some multiple of the external clock delivered to the CPU; the power dissipated by the CPU is a function of the core frequency and voltage applied to the CPU. As the applied voltage level is increased, advanced processing technologies allow for the core frequency to be increased, resulting in a nonlinear increase in power consumption.
Mobile systems typically operate at the lowest voltage and frequency pair required to keep the typical dissipated power below mobile battery-powered limits. Because voltage can be increased to deliver higher performance for a given component, desktop CPUs typically deliver higher performance than their mobile counterparts at any given point in time.
Systems have been proposed which use passive thresholds to define a temperature at which the power of one or more CPUs should be reduced in order to cool a given thermal zone. In the Advanced Configuration and Power Interface (ACPI) model, the operating system varies the CPU duty cycle so the power dissipation of the CPU matches the power dissipation capabilities of the system. See, Advanced Configuration and Power Interface (ACPI) Specification, Revision 1.0., published by Intel, Microsoft and Toshiba in 1997. This type of thermal management is termed xe2x80x9cthrottlingxe2x80x9d or xe2x80x9cpassive cooling. To support throttling, the ACPI model defines registers that allow the operating system to control the duty cycle of the CPU.
Throttling reduces the heat generated by the mobile computing platform but does so without regard for processing efficiency. What is needed is a system and method for reducing power generation without throttling the CPU.
According to one aspect of the present invention, in a computer system having a processor capable of operating at a plurality of performance states, wherein each of the plurality of performance states has an expected processing performance, a system and method is described for switching between the plurality of performance states. A determination is made that a performance state change is needed. The system waits for the processor to enter a quiescent state and, when the processor enters the quiescent state, places the processor in the new performance state.
According to another aspect of the present invention, in a computer system having a processor capable of operating at a plurality of performance states, wherein each of the plurality of performance states has an expected processing performance, a system and method is described for controlling heat generated by the computer system. A thermal threshold is set and a determination is made when the thermal threshold is exceeded. When the thermal threshold is exceeded, a transition is made to a low power state. The processor then determines if it is possible to transition to a higher performance state and, if it is possible to transition to a higher performance state, transitions to that higher performance state.